package br.com.cfccultura.admin.model.vo;

import br.com.cfccultura.admin.model.enums.TipoCurso;

public class ServicoAluno extends ValueObject {
	
	private static final long serialVersionUID = -77001836116642296L;
	
	private Curso curso;
	private TipoCurso tipoCurso;
	private Servico servico;
	private String descricao;
	private Integer qtde;
	private Double valorUnitario;
	private Boolean prova = false;
	
	public Curso getCurso() {
		return curso;
	}
	public void setCurso(Curso curso) {
		this.curso = curso;
	}
	public String getDescricao() {
		if(getCurso() != null) {
			if(getProva()) {
				descricao = getCurso().getNome() + " (Prova)";
			} else {
				descricao = getCurso().getNome();
			}			
		} else if(getServico() != null) {
			descricao = getServico().getDescricao();
		}
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	public Integer getQtde() {
		return qtde;
	}
	public void setQtde(Integer qtde) {
		this.qtde = qtde;
	}
	public Double getValorUnitario() {
		if(getCurso() != null) {
			if(getProva()) {
				valorUnitario = getCurso().getValorProvaVenda();
			} else {
				valorUnitario = getCurso().getValorVenda();
			}
		}
		return valorUnitario;
	}
	public void setValorUnitario(Double valorUnitario) {
		this.valorUnitario = valorUnitario;
	}
	public Double getValorTotal() {
		if(getQtde() != null && getValorUnitario() != null) {
			return getQtde() * getValorUnitario();
		}
		return 0D;
	}
	public TipoCurso getTipoCurso() {
		return tipoCurso;
	}
	public void setTipoCurso(TipoCurso tipoCurso) {
		this.tipoCurso = tipoCurso;
	}
	public Boolean getProva() {
		return prova;
	}
	public void setProva(Boolean prova) {
		this.prova = prova;
	}
	public Servico getServico() {
		return servico;
	}
	public void setServico(Servico servico) {
		this.servico = servico;
	}

}
